package com.ruoyi.ldzlsb.service;

import java.util.List;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.ldzlsb.domain.SbRepairApplication;

/**
 * 设备报修单Service接口
 * 
 * @author ruoyi
 */
public interface ISbRepairApplicationService 
{
    /**
     * 查询设备报修单
     * 
     * @param repairId 设备报修单主键
     * @return 设备报修单
     */
    public SbRepairApplication getById(Integer repairId);

    /**
     * 查询设备报修单列表
     * 
     * @param application 设备报修单
     * @return 设备报修单集合
     */
    public List<SbRepairApplication> findRepairApplication(SbRepairApplication application);

    /**
     * 新增设备报修单
     * 
     * @param application 设备报修单
     * @return 结果
     */
    public boolean saveRepairApplication(SbRepairApplication application);

    /**
     * 修改设备报修单
     * 
     * @param application 设备报修单
     * @return 结果
     */
    public boolean updateRepairApplication(SbRepairApplication application);

    /**
     * 删除设备报修单信息
     * 
     * @param repairId 设备报修单主键
     * @return 结果
     */
    public boolean deleteRepairApplication(Integer repairId);
    
    /**
     * 生成报修单编号
     * 
     * @return 编号结果
     */
    public R<String> generateCode();
    
    /**
     * 接单处理
     * 
     * @param repairId 报修单ID
     * @return 结果
     */
    public boolean acceptRepairApplication(Integer repairId);
    
    /**
     * 取消报修单
     * 
     * @param repairId 报修单ID
     * @param reason 取消原因
     * @return 结果
     */
    public boolean cancelRepairApplication(Integer repairId, String reason);
} 